﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>WIDGET</title>
<meta name="GENERATOR" content="WinCHM">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

</head>

<body>
<P><FONT face=Courier>D:\ PhucAndroid \ HelloWidget \<STRONG><FONT 
color=#ff0000>hellowidget</FONT></STRONG></FONT></P>
<P><STRONG><FONT face=Courier color=#0000ff style="BACKGROUND-COLOR: #ffffff">Manifest.xml</FONT></STRONG></P><FONT 
color=#008080 size=2><FONT color=#008080 size=2>
<P>&lt;</FONT><FONT color=#3f7f7f><FONT size=2 >manifest&nbsp;&nbsp;&nbsp; ... 
&gt;<BR>  </FONT></FONT>&nbsp;&nbsp;&nbsp;&nbsp; &lt;</FONT><FONT color=#3f7f7f size=2>application ... &gt;<BR></FONT><FONT color=#3f7f7f size=2>  
<BR><FONT 
face=Courier>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></FONT><FONT size=2><FONT face=Courier><FONT color=#3f5fbf size=2>&lt;!-- Broadcast Receiver that will process AppWidget 
updates --&gt;<BR></FONT><FONT color=#008080 size=2><FONT 
color=#3f7f7f>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</FONT>&lt;</FONT><FONT color=#3f7f7f 
size=2>receiver</FONT><FONT size=2> </FONT><FONT color=#7f007f 
size=2>android:label</FONT><FONT size=2>=</FONT><I><FONT color=#2a00ff 
size=2>"@string/app_name"</I></FONT></FONT><FONT 
face=Courier><FONT size=2> </FONT><FONT color=#7f007f 
size=2>android:name</FONT><FONT size=2>=</FONT><I><FONT color=#2a00ff 
size=2>".widget.ListenToMeWidget"</I></FONT></FONT><FONT size=2 face=Courier> </FONT><FONT face=Courier><FONT 
color=#008080 size=2>&gt;<BR><FONT 
color=#3f7f7f>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</FONT></FONT><FONT color=#008080 size=2>&lt;</FONT><FONT color=#3f7f7f 
size=2>intent-filter</FONT><FONT size=2> </FONT></FONT><FONT face=Courier><FONT color=#008080 
size=2>&gt;<BR><FONT 
color=#3f7f7f>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</FONT></FONT><FONT color=#008080 size=2>&lt;</FONT><FONT color=#3f7f7f 
size=2>action</FONT><FONT size=2> </FONT><FONT color=#7f007f 
size=2>android:name</FONT><FONT size=2>=</FONT><I><FONT color=#2a00ff 
size=2>"android.appwidget.action.APPWIDGET_UPDATE" </I></FONT></FONT><FONT 
color=#008080 size=2><FONT 
face=Courier>/&gt;<BR><FONT 
color=#3f7f7f>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</FONT></FONT></FONT><FONT face=Courier><FONT color=#3f5fbf size=2>&lt;!-- Broadcast 
Receiver that will also process our self created action --&gt;<BR><FONT 
color=#3f7f7f>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</FONT></FONT><FONT color=#008080 size=2>&lt;</FONT><FONT color=#3f7f7f 
size=2>action</FONT><FONT size=2> </FONT><FONT color=#7f007f 
size=2>android:name</FONT><FONT size=2>=</FONT><I><FONT color=#2a00ff 
size=2>".ButtonWidget.ACTION_WIDGET_RECEIVER" </I></FONT></FONT><FONT face=Courier><FONT color=#008080 
size=2>/&gt;<BR><FONT 
color=#3f7f7f>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</FONT></FONT><FONT color=#008080 size=2>&lt;/</FONT><FONT color=#3f7f7f 
size=2>intent-filter</FONT></FONT><FONT 
face=Courier><FONT color=#008080 size=2>&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<FONT style="BACKGROUND-COLOR: #ffff00"> 
<FONT color=#008080 size=2>&lt;</FONT><FONT color=#3f7f7f 
size=2>meta-data</FONT><FONT color=#000000 size=2> </FONT><FONT color=#7f007f 
size=2>android:name</FONT><FONT color=#000000 size=2>=</FONT><I><FONT 
color=#2a00ff size=2>"android.appwidget.provider"</I></FONT></FONT><FONT 
style="BACKGROUND-COLOR: #ffff00"><FONT color=#000000 
size=2> </FONT><FONT color=#7f007f size=2>android:resource</FONT><FONT 
color=#000000 size=2>=</FONT><I><FONT color=#2a00ff 
size=2>"@xml/listen_to_me_widget_provider"</I></FONT></FONT><FONT 
style="BACKGROUND-COLOR: #ffff00"><FONT color=#000000 size=2> 
</FONT><FONT color=#008080 size=2>/&gt;</FONT></FONT></FONT></FONT></FONT><FONT size=2><FONT face=Courier><FONT color=#008080 size=2><BR><FONT 
color=#3f7f7f>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</FONT></FONT><FONT color=#008080 size=2>&lt;/</FONT><FONT color=#3f7f7f 
size=2>receiver</FONT></FONT><FONT 
face=Courier><FONT color=#008080 size=2>&gt;<BR></FONT><FONT color=#3f5fbf size=2><FONT 
color=#3f7f7f>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</FONT>&lt;!-- this activity will be called, when we fire our self created 
ACTION_WIDGET_CONFIGURE --&gt;</P></FONT></FONT>
<P align=left><FONT color=#008080 size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;</FONT><FONT color=#3f7f7f size=2>activity ...&gt; ...</FONT><FONT color=#008080 
size=2>&nbsp;&lt;/</FONT><FONT color=#3f7f7f size=2>activity</FONT><FONT color=#008080 
size=2>&gt;<BR></FONT><FONT color=#008080 size=2>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/</FONT><FONT color=#3f7f7f 
size=2>application</FONT><FONT color=#008080 size=2>&gt;<BR></FONT></FONT><FONT 
color=#008080 size=2><FONT color=#008080 size=2>&lt;/</FONT><FONT color=#3f7f7f size=2>manifest</FONT><FONT color=#008080 
size=2>&gt;</FONT></FONT></P><FONT 
color=#008080 size=2><FONT color=#008080 
size=2><B><FONT 
color=#7f0055 size=2>
<P><FONT face=Courier size=3>public</FONT></B></FONT><FONT face=Courier><FONT size=3><FONT 
color=#000000 > </FONT><B><FONT color=#7f0055 
>class</B></FONT></FONT></FONT><FONT face=Courier><FONT size=3><FONT color=#000000 > 
ListenToMeWidget </FONT><B><FONT color=#7f0055 
>extends</B></FONT></FONT></FONT><FONT ><FONT face=Courier color=#000000 size=3> 
<FONT color=#000000><U>AppWidgetProvider</U></FONT> 
 {</FONT></FONT></P><FONT size=2><FONT color=#646464 >
<P align=left><FONT face=Courier size=3>&nbsp;&nbsp;&nbsp;&nbsp; @Override<BR></FONT></FONT><B><FONT 
color=#7f0055 ><FONT face=Courier size=3>&nbsp;&nbsp;&nbsp;&nbsp; public</FONT></B></FONT><FONT 
face=Courier><FONT size=3><FONT > </FONT><B><FONT color=#7f0055 
>void</B></FONT></FONT></FONT><FONT face=Courier><FONT size=3><FONT > onUpdate(Context 
context, AppWidgetManager appWidgetManager,</FONT><B><FONT color=#7f0055 
>int</B></FONT></FONT></FONT><FONT ><FONT face=Courier><FONT size=3>[] 
appWidgetIds) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<STRONG>RemoteViews</STRONG> 
 remoteViews = <B><FONT color=#7f0055>new</B></FONT>  
</FONT><FONT 
size=3> RemoteViews(context.getPackageName(), R.layout.<I><FONT 
color=#0000c0>listen_to_me_widget</I></FONT></FONT><FONT 
size=3>);<BR> 
 
</FONT></P>
<P><FONT style="BACKGROUND-COLOR: #ffff00" 
color=#ff0000><STRONG>// event - thuc hien viec abc&nbsp;khi click 
button</STRONG></FONT>       
<BR></FONT></FONT><FONT size=2><FONT face=Courier>Intent intReceiver = &lt; /FONT  
 &gt;  </FONT><B><FONT color=#7f0055 
size=2><FONT face=Courier>new</FONT></B></FONT><FONT 
face=Courier><FONT size=2> Intent(context, 
ListenToMeWidget.</FONT><B><FONT color=#7f0055 size=2>class</B></FONT></FONT><FONT 
size=2><FONT face=Courier>);<BR></FONT><FONT 
face=Courier>intReceiver.setAction(</FONT></FONT><I><FONT size=2 
><FONT 
face=Courier color=#ff0000><FONT color=#2a00ff 
size=2>"<FONT color=#ff0000>ActionReceiverWidget"</FONT> </FONT></FONT></I></FONT><FONT size=2><FONT face=Courier>);<BR></FONT><FONT 
face=Courier>PendingIntent pintReceiver = 
PendingIntent.<I>getBroadcast</I>(context, 0, intReceiver, 
0);<BR></FONT></FONT><FONT size=2><FONT 
face=Courier>remoteViews.setOnClickPendingIntent(R.id.</FONT></FONT><I><FONT color=#0000c0 
size=2><FONT 
face=Courier>btnPlay</FONT></I></FONT><FONT size=2><FONT 
face=Courier>, 
pintReceiver);</FONT></FONT></P>
<P align=left><FONT size=2><FONT 
face=Courier></FONT></FONT>&nbsp;</P>
<P align=left><FONT ><FONT 
face=Courier size=3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<STRONG>appWidgetManager</STRONG> 
.updateAppWidget(appWidgetIds, remoteViews);</FONT></FONT></P>
<P align=left><FONT size=2><FONT 
face=Courier></FONT></FONT>&nbsp;</P><FONT size=2><FONT 
face=Courier color=#646464 size=4>
<P align=left>@Override<BR></FONT><B><FONT color=#7f0055><FONT face=Courier 
size=4>public</FONT></B></FONT><FONT face=Courier><FONT size=4> <B><FONT 
color=#7f0055>void</B></FONT></FONT></FONT><FONT size=2><FONT face=Courier 
size=4> <FONT 
color=#ff0000>onReceive</FONT> (Context context, Intent 
intent) {<BR>// - viec abc duoc viet o 
day</FONT></FONT></P>
<P align=left><FONT face=Courier size=4></FONT>&nbsp;</P>
<P align=left><FONT face=Courier size=4></FONT>&nbsp;</P>
<P align=left><FONT face=Courier size=4></FONT>&nbsp;</P>
<P align=left><A 
href="http://www.helloandroid.com/tutorials/mastering-android-widget-development-part4">http://www.helloandroid.com/tutorials/mastering-android-widget-development-part4</A><FONT size=2></P></FONT></FONT></FONT></FONT></FONT></FONT></body>
</html>
